<?php
include_once('include/Config.php');
include_once('entities/EmpresaTipoDocumento.php');

Class EmpresaTipoDocumentoDAL {

    private $link;

    public function __construct() {
        $this->conectar();
    }

    private function conectar() {
        
        //Tomado del config.php 
        $this->link = $GLOBALS["DBConnPDO"];
        
    }

    public function obtenerEmpresaTipoDocumento($_idEmpresa) {
        $sql = "select * from empresatipodocumento";
        $sql .=" WHERE idEmpresa = :idempresa;";
        
        $stmt = $this->link->prepare($sql);
        $stmt->bindParam(':idempresa', $_idEmpresa, PDO::PARAM_INT);
        
        $stmt->execute();
        $result = $stmt->fetchAll();

        $listaEmpresaTipoDocumento = array();

        foreach ($result as $row) {
        
            $empresatipodocumento = new EmpresaTipoDocumento(); 
            
            $empresatipodocumento->setIdEmpresa($row['IdEmpresa']);
            $empresatipodocumento->setIdTipoDocumento($row['IdTipoDocumento']);
            $empresatipodocumento->setDescripcion($row['Descripcion']);
            $empresatipodocumento->setDescBreve($row['DescBreve']);
            
            $listaEmpresaTipoDocumento [] = $empresatipodocumento;
            
        }
        return $listaEmpresaTipoDocumento;
    }
    
    public function obtenerEmpresaTipoDocumentoxId($_idEmpresa, $_idTipoDocumento) {
        $sql = " SELECT * FROM empresatipodocumento ";
        $sql .=" WHERE idEmpresa = :idempresa";
        $sql .=" AND idTipoDocumento = :idtipodocumento;";
        
        $stmt = $this->link->prepare($sql);
        $stmt->bindParam(':idempresa', $_idEmpresa, PDO::PARAM_INT);
        $stmt->bindParam(':idtipodocumento', $_idTipoDocumento, PDO::PARAM_INT);
        
        $stmt->execute();
        $result = $stmt->fetchAll();

        $empresatipodocumento = new EmpresaTipoDocumento();

        foreach ($result as $row) {

            $empresatipodocumento->setIdEmpresa($row['IdEmpresa']);
            $empresatipodocumento->setIdTipoDocumento($row['IdTipoDocumento']);
            $empresatipodocumento->setDescripcion($row['Descripcion']);
            $empresatipodocumento->setDescBreve($row['DescBreve']);
            
        }
        
        return $empresatipodocumento;
    }
    
    function datosEmpresaTipoDocumento($_idEmpresa = 0, $_idTipoDocumento = 0){
        $query = "SELECT idEmpresa, idTipoDocumento, Descripcion, DescBreve from empresatipodocumento where 1=1 ";
        
        if($_idEmpresa != 0){
            $query .= " AND idEmpresa = $_idEmpresa";
        }

        if($_idTipoDocumento != 0){
            $query .= " AND idTipoDocumento = $_idTipoDocumento";
        }

        $result = '';
        
        foreach ($this->link->query($query) as $row) {
            $result .= $row['idEmpresa'].'-'.$row['idTipoDocumento'].':'.$row['Descripcion'].':'.$row['DescBreve'].';';
        }
        
        if($result != null || $result != ''){
            $result = trim($result, ';');
        }
        
        return $result;
    }
  
    function comboEmpresaTipoDocumento($_idEmpresa = 0, $_idTipoDocumento = 0){
        $query = "SELECT idEmpresa, idTipoDocumento, Descripcion from empresatipodocumento where 1=1 ";
        
        if($_idEmpresa != 0){
            $query .= " AND idEmpresa = $_idEmpresa";
        }

        if($_idTipoDocumento != 0){
            $query .= " AND idTipoDocumento = $_idTipoDocumento";
        }

        $result = '';
        
        foreach ($this->link->query($query) as $row) {
            $result .= $row['idEmpresa'].'-'.$row['idTipoDocumento'].':'.$row['Descripcion'].';';
        }
        
        if($result != null || $result != ''){
            $result = trim($result, ';');
        }
        
        return $result;
    }
  
    function comboEmpresaTipoDocumentoHTML($_idEmpresaSelected = 0, $_idTipoDocumentoSelected = 0, $_filtro = "") {
        $query = "SELECT idEmpresa, idTipoDocumento, descripcion FROM empresatipodocumento";
        
        if($_filtro != "")
        {
        	$query .= " WHERE 1=1 " . $_filtro;
        }
        
        $result = '';

        foreach ($this->link->query($query) as $row) {
            $result .= '<OPTION VALUE="' . $row['idEmpresa'].'-'.$row['idTipoDocumento'] . '"';
            
            if(($_idEmpresaSelected == 0)&&($_idTipoDocumentoSelected == 0)){
            	$_idEmpresaSelected = $row['idEmpresa'];
            	$_idTipoDocumentoSelected = $row['idTipoDocumento'];
            }
            
            if(($_idEmpresaSelected == $row['idEmpresa'])&&($_idTipoDocumentoSelected == $row['idTipoDocumento'])){
            	$result .= ' selected';
            }
            
            $result .= '>' . $row['descripcion'] . '</OPTION>';
        }
        
        return $result;
    }  
}

?>